
exp help=Y

exp system/manager file=expdat.dmp compress=Y owner=(HR,THUMPER)

rem
rem   user_tablespace_maps.sql
rem
rem  Ten plik odwzorowuje zbir obiektw uytkownika na zbiorze 
rem  przestrzeni tabel. 
rem
set pagesize 60
break on Owner on Tablespace
column Objects format A20
select
      Owner,
      Tablespace_Name,
      COUNT(*)||' tabele' Objects
 from DBA_TABLES
group by
      Owner,
      Tablespace_Name
union
select
      Owner,
      Tablespace_Name,
      COUNT(*)||' indeksy' Objects
from dba_indexes
group by
      Owner,
      Tablespace_Name

spool user_locs.lst
/
spool off

rem
rem   user_tablespace_maps.sql
rem
rem  Ten skrypt odwzorowuje zbir obiektw uytkownikw na zbiorze 
rem  przestrzeni tabel.
rem
set pagesize 60
break on Tablespace on Owner
column Objects format A20
select
      Tablespace_Name,
      Owner,
      COUNT(*)||' tabele' Objects
from DBA_TABLES
group by
      Tablespace_Name,
      Owner
union
select
      Tablespace_Name,
      Owner,
      COUNT(*)||' indeksy' Objects
from DBA_INDEXES
group by
      Tablespace_Name,
      Owner

spool ts_locs.lst
/
spool off

exp system/manager file=hr.dmp owner=HR indexes=Y compress=Y

connect internal
drop tablespace HR_INDEXES including contents;
drop tablespace HR_TABLES including contents;
create tablespace HR_TABLES...
create tablespace HR_INDEXES...
exit

imp system/manager file=hr.dmp full=Y buffer=64000 commit=Y

Rem
rem  third_party_grants.sql
rem
rem  To zapytanie wyszukuje uprawnienia przyznane przez uytkownikw
rem  nie bdcych wacicielami tabel. Te uprawnienia nie mog by 
rem  eksportowane przez operacje eksportu uytkownika (User mode).
rem
break on Grantor skip 1 on Owner on Table_Name
select
      Grantor,          /*Konta, z ktrego przyznano uprawnienie*/
      Owner,            /*Konta, ktre posiadaj tabel*/
      Table_Name,       /*Nazwa tabeli*/
      Grantee,          /*Konto, ktremu przyznano dostp*/
      Privilege,        /*Przyznane uprawnienie*/
      Grantable         /*Przyznane z opcj admin?*/
from DBA_TAB_PRIVS
where Grantor ! = Owner
order by Grantor, Owner, Table_Name, Grantee, Privilege

spool third_parts_privs.lst
/
spool off

rem
rem  third_party_indexes.sql
rem
rem  To zapytanie wyszukuje indeksy utworzone przez uytkownika nie 
rem  bdcego wacielem tabeli.
rem
select
      Owner,                /*Waciciel indeksu*/
      Index_Name,           /*Nazwa indeksu*/
      Table_Owner,          /*Waciciel tabeli*/
      Table_Name            /*Nazwa indeksowanej tabeli*/
from DBA_INDEXES
where Owner != Table_Owner

spool third_party_indexes.lst
/
spool off


exp system/manager FILE=expdat.dmp TABLES=(Thumper.SALES)
exp system/manager FILE=expdat.dmp TABLES=(Thumper.SALES:Part1)

imp system/manager file=expdat.dmp
imp system/manager file=expdat.dmp buffer=64000 commit=Y

exp system/manager file=thumper.dat owner=thumper grants=N 
  indexes=Y compress=Y rows=Y

imp system/manager file=thumper.dat FROMUSER=thumper TOUSER=flower   
      rows=Y indexes=Y

imp system/manager file=expdat.dmp full=Y commit=Y buffer=64000

imp system/manager file=expdat.dmp ignore=N rows=N commit=Y buffer=64000

exp system/manager file=expdat.dmp owner=thumper
imp system/manager file=expdat.dmp indexfile=indexes.sql full=Y

imp system/manager file=expdat.dmp fromuser=thumper touser=flower   
   indexes=N commit=Y buffer=64000

> tar cvf /dev/rmt/0hc /db0[1-9]/oracle/CC1

> tar rvf /dev/rmt/0hc /orasw/app/oracle/CC1/pfile/initcc1.ora

> tar rvf /dev/rmt/0hc /db0[1-9]/oracle/CC1
/orasw/app/oracle/CC1/pfile/initcc1.ora

$Backup/ignore=(nobackup,interl)/log file tape1:oracle_backup.bck/sav

svrmgrl
connect internal as sysdba
startup mount cc1;
alter database archivelog;
archive log start;
alter database open;

archive log list

connect internal as sysdba
startup mount cc1;
alter database noarchivelog;
alter database open;

log_archive_dest    = /db01/oracle/arch/CC1/arch
log_archive_start   = TRUE

select Name,
       Value
  from V$PARAMETER
 where Name like 'log_archive%';

#
# Przykadowy skrypt do wykonywania gorcych kopii zapasowych dla 
# bazy danych w systemie operacyjnym UNIX, stosujcej system plikw. 
#
# Ustawienie zmiennych rodowiskowych:
ORACLE_SID=cc1; export ORACLE_SID
ORAENV_ASK=NO; export ORAENV_ASK
. oraenv
#
#   Etap 1.  Naley wykona kopie zapasowe plikw danych kolejno z 
#   kadej przestrzeni tabel. Kad przestrze tabel naley kolejno 
#   ustawi w stan kopiowania. Nastpnie wykonuje si kopie zapasowe 
#   plikw danych nalecych do przestrzeni tabel i po zakoczeniu 
#   przywraca przestrzeni tabel jej normalny stan.
#
# Uwaga dla UNIX:  naley ustawi wskanik na program Server Manager
# (nazywany tutaj EOFarch1), tak e sterowanie pliku polece 
# pozostanie w programie Server Manager.
#
svrmgrl <<EOFarch1
connect internal sysdba
REM
REM   Wykonanie kopii zapasowej plikw danych przestrzeni tabel SYSTEM 
REM
alter tablespace SYSTEM begin backup;
!tar -cvf /dev/rmt/0hc /db01/oracle/CC1/sys01.dbf
alter tablespace SYSTEM end backup;
REM
REM   Teraz przestrze tabel SYSTEM zostaa zapisana do zestawu 
REM   zapisw polecenia tar na urzdzeniu tamy /dev/rmt/0hc.
REM   Pozostaa cz polece tar musi uy klauzuli "-rvf" w celu 
REM   doczenia kopiowanych plikw do tego zestawu zapisw.
REM
REM   Wykonanie kopii zapasowych plikw danych przestrzeni tabel RBS 
REM
alter tablespace RBS begin backup;
!tar -rvf /dev/rmt/0hc /db02/oracle/CC1/rbs01.dbf
alter tablespace RBS end backup;
REM
REM   Wykonanie kopii zapasowych plikw danych przestrzeni tabel DATA 
REM   W tym przykadzie przyjto, e przestrze tabel zawiera 
REM   dwa pliki data01.dbf and data02.dbf. W nazwie plikw bdzie 
REM   zastosowany symbol wieloznaczny *.
REM
alter tablespace DATA begin backup;
!tar -rvf /dev/rmt/0hc /db03/oracle/CC1/data0*.dbf
alter tablespace DATA end backup;
REM
REM   Wykonanie kopii zapasowych plikw danych przestrzeni tabel 
REM   INDEXES 
REM
alter tablespace INDEXES begin backup;
!tar -rvf /dev/rmt/0hc /db04/oracle/CC1/indexes01.dbf
alter tablespace INDEXES end backup;
REM
REM   Wykonanie kopii zapasowych plikw danych przestrzeni tabel TEMP 
REM
alter tablespace TEMP begin backup;
!tar -rvf /dev/rmt/0hc /db05/oracle/CC1/temp01.dbf
alter tablespace TEMP end backup;
REM
REM   Naley postpowa wedug tej samej metody w celu wykonania kopii 
REM   zapasowych plikw danych pozostaych przestrzeni danych. 
REM
REM
REM         Etap 2.  Wykonanie kopii zapasowych zarchiwizowanych 
REM      plikw dziennika powtrze.
REM
REM  Najpierw zatrzymuje si proces archiwizacji. To uniemoliwi
REM  zapis do docelowego katalogu dodatkowych zarchiwizowanych 
REM  plikw dziennika powtrze podczas tego procesu. Ten proces 
REM  zajmie tylko kilka sekund.   
REM
archive log stop
REM
REM   Naley opuci program Server Manager wykorzystujc ustawiony 
REM   wczeniej znacznik.
exit
EOFarch1
#
#  Naley zapisa nazwy plikw znajdujcych si w katalogu docelowym.
#     Wykonuje si to przez ustawienie zmiennej rodowiskowej, ktra 
#     jest rwna wykazowi katalogw dla katalogu docelowego. 
#     W tym przykadzie parametr log_archive_dest jest rwny 
#     /db01/oracle/arch/CC1.
#
FILES='ls /db01/oracle/arch/CC1/arch*.dbf'; export FILES
#
#  Teraz trzeba powrci do programu Server Manager i ponownie 
#  uruchomi proces archiwizacji. Naley stawi wskanik (w tym 
#  przykadzie nazywany EOFarch2)
#
svrmgrl <<EOFarch2
connect internal
archive log start;
exit
EOFarch2
#
#  Teraz wykonuje si kopie zapasowe zarchiwizowanych plikw dziennika 
#  powtrze do urzdzenia tamy za pomoc polecenia "tar". Nastpnie 
#  usuwa si je z urzdzenia docelowego za pomoc polecenia "rm". 
#  Zamiast usuwania mona wybra ich kompresj. 
#
tar -rvf /dev/rmt/0hc $FILES
rm -f $FILES
#
#     Etap 3.  Wykonanie kopii zapasowych pliku sterowania do pliku 
#     dyskowego.
#
svrmgrl <<EOFarch3
connect internal
alter database backup controlfile to
   'db01/oracle/CC1/CC1controlfile.bck';
exit
EOFarch3
#
#  Wykonanie kopii zapasowej pliku sterowania na tam. 
#
tar -rvf /dev/rmt/0hc /db01/oracle/CC1/CC1controlfile.bck
#
#  Koniec skryptu wykonywania gorcej kopii zapasowej.


set pagesize 0 feedback off

select 
    'alter tablespace '||Tablespace_Name||' begin backup;'
  from DBA_TABLESPACES
 where Status <> 'INVALID'

spool alter_begin.sql
/
spool off

alter tablespace SYSTEM begin backup;
alter tablespace RBS begin backup;
alter tablespace TEMP begin backup;
alter tablespace DATA begin backup;
alter tablespace INDEXES begin backup;

tar -cvf /dev/rmt/0hc /db0[1-9]/oracle/CC1

set pagesize 0 feedback off

select 
    'alter tablespace '||Tablespace_Name||' end backup;'
  from DBA_TABLESPACES
 where Status <> 'INVALID'

spool alter_end.sql
/
spool off

#     Etap 1: Zatrzymanie procesu archiwizacji. W ten sposb 
# dodatkowe, zarchiwizowane pliki dziennika powtrze nie zostan 
# zapisane do docelowego katalogu podczas tego procesu. 
#
svrmgrl <<EOFarch1
connect internal as sysdba
archive log stop;
REM
REM  Naley opuci program Server Manager, wykorzystujc ustawiony
REM  wczeniej znacznik.
exit
EOFarch1
#
#     Etap 2: Zapisanie nazw plikw znajdujcych si w katalogu 
#  docelowym. W tym celu ustawia si zmienn rodowiskow, ktra jest
#  rwna wykazowi katalogw dla katalogu docelowego.
#  W tym przykadzie parametr log_archive_dest jest rwny
#  /db01/oracle/arch/CC1.
#
FILES='ls /db01/oracle/arch/CC1/arch*.dbf'; export FILES
#
#     Etap 3: Naley powrci do programu Server Manager i ponownie 
#  uruchomi  proces archiwizacji. Naley ustawi wskanik (w tym 
#  przykadzie nazywany EOFarch2)
#
svrmgrl <<EOFarch2
connect internal as sysdba
archive log start;
exit
EOFarch2
#
#     Etap 4. Naley wykona kopie zapasowe zarchiwizowanych plikw 
#  dziennika powtrze do urzdzenia tamy za pomoc polecenia "tar". 
#  Nastpnie usuwa si je z urzdzenia docelowego za pomoc polecenia 
#  "rm".
#
tar -rvf /dev/rmt/0hc $FILES
#
#     Etap 5. Usunicie tych plikw z katalogu docelowego.
#
rm -f $FILES
#
#     Koniec skryptu wykonywania kopii zapasowych zarchiwizowanych 
#     plikw dziennika powtrze.


REM
REM   Wykonanie kopii zapasowych przestrzeni tabel RBS  bezporednio 
REM   na tam
REM
alter tablespace RBS begin backup;
!tar -rvf /dev/rmt/0hc /db02/oracle/CC1/rbs01.dbf
alter tablespace RBS end backup;
REM

REM
REM  Wykonanie kopii zapasowych przestrzeni tabel RBS na innym dysku 
REM  (UNIX)
REM
alter tablespace RBS begin backup;
!cp /db02/oracle/CC1/rbs01.dbf /db10/oracle/CC1/backups
alter tablespace RBS end backup;
REM

REM
REM  Wykonanie kopii zapasowych przestrzeni tabel RBS na innym dysku 
REM  (VMS)
REM
alter tablespace RBS begin backup;
!backup/ignore=(no backup, interl)DB01:[ORACLE.CC1]RBS01.DBF 
DB10:[ORACLE.CC1.BACKUPS]
alter tablespace RBS end backup;
REM


#
# Procedura przeniesienia zarchiwizowanych dziennikw powtrze do 
# innego urzdzenia
#
svrmgrl <<EOFarch2
connect internal as sysdba
archive log stop;
!mv /db01/oracle/arch/CC1 /db10/oracle/arch/CC1
archive log start;
exit
EOFarch2
#
# koniec przeniesienia katalogu zarchiwizowanego dziennika powtrze.


alter database backup controlfile to trace;

recover database;          

alter database open;

recover database using backup controlfile;

connect internal as sysdba
startup mount instance_name;
recover database until time '1999-08-07:14:40:00';

alter database open resetlogs;

> exp system/manager file=saved.dmp tables=(owner.tablename)
> imp system/manager file=saved.dmp full=Y commit=Y buffer=64000

rman rcvcat rman/rman@<database_service_name>
create catalog tabelspace rcvcat;
create catalog tabelspace "RCVCAT";

Select ROUND(Sofar/Totalwork*100,2)
   From V$SESSION_LONGOPS;

